Daniel Mustieles [Thu, 4 Jun 2020 07:17:16 +0000 (09:17 +0200)]
Updated Spanish translation
Matthias Clasen [Wed, 3 Jun 2020 23:34:48 +0000 (23:34 +0000)]
Merge branch 'columnview-separators' into 'master'
Columnview separators
See merge request GNOME/gtk!2025
Matthias Clasen [Wed, 3 Jun 2020 21:34:35 +0000 (17:34 -0400)]
columnview: Add a property for column separators
Rename the show-separators property to show-row-separators,
and add a matching show-column-separators property. It is
implemented by setting the .column-separators style class
on the column view.
Matthias Clasen [Wed, 3 Jun 2020 21:36:52 +0000 (17:36 -0400)]
listview: Use gtk_widget_add_css_class
No need to use the style context api for this anymore.
Matthias Clasen [Wed, 3 Jun 2020 20:56:19 +0000 (16:56 -0400)]
settings demo: Don't select rows
We want no selection here, so use GtkNoSelection.
Matthias Clasen [Wed, 3 Jun 2020 21:47:58 +0000 (21:47 +0000)]
Merge branch 'columnview-printdialog' into 'master'
Port the printdialog to column view
See merge request GNOME/gtk!2010
Matthias Clasen [Wed, 3 Jun 2020 21:46:13 +0000 (21:46 +0000)]
Merge branch 'columnview-rubberbanding' into 'master'
columnview: Implement rubberbanding
See merge request GNOME/gtk!2008
Matthias Clasen [Wed, 3 Jun 2020 21:39:33 +0000 (21:39 +0000)]
Merge branch 'columnview-expand' into 'master'
columnview: Implement expanding columns
See merge request GNOME/gtk!2007
Matthias Clasen [Wed, 3 Jun 2020 21:38:59 +0000 (21:38 +0000)]
Merge branch 'columnview-reordering' into 'master'
columnview: Implement interactive reordering
See merge request GNOME/gtk!2006
Matthias Clasen [Wed, 3 Jun 2020 20:04:17 +0000 (20:04 +0000)]
Merge branch 'columnview-resizing' into 'master'
columnview: Implement interactive resizing
See merge request GNOME/gtk!2004
Matthias Clasen [Wed, 3 Jun 2020 19:50:59 +0000 (19:50 +0000)]
Merge branch 'columnview-scrolling' into 'master'
columnview: Implement horizontal scrolling
See merge request GNOME/gtk!1998
Benjamin Otte [Wed, 3 Jun 2020 17:40:26 +0000 (17:40 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
See merge request GNOME/gtk!2024
Matthias Clasen [Sun, 22 Dec 2019 23:09:54 +0000 (18:09 -0500)]
printdialog: Port to column view
Matthias Clasen [Mon, 23 Dec 2019 19:57:39 +0000 (14:57 -0500)]
gtk-demo: Make gridview demo use rubberbanding
Matthias Clasen [Mon, 23 Dec 2019 19:47:19 +0000 (14:47 -0500)]
Add rubberband api
Add an ::enable-rubberband property to GtkListView,
GtkGridView and GtkColumnView.
Matthias Clasen [Wed, 3 Jun 2020 12:20:08 +0000 (08:20 -0400)]
listbase: Simplify rubberbanding
The new approach is:
- plain: clear and start a new selection
- extend: add to the existing selection
- modify: subtract from the existing selection
Matthias Clasen [Tue, 2 Jun 2020 17:37:32 +0000 (13:37 -0400)]
listbase: Split off rubberband data
Matthias Clasen [Tue, 2 Jun 2020 16:42:53 +0000 (12:42 -0400)]
listbase: Use a widget for the rubberband
We no longer need to juggle manual css nodes. Just create
a widget for the rubberband, and update its allocation
as we rubberband.
Matthias Clasen [Tue, 2 Jun 2020 15:43:02 +0000 (11:43 -0400)]
Add autoscroll
This is an expected feature with rubberband selection:
as you get close to the edge while doing rubberband
selection, the list scrolls to extend your selection.
Matthias Clasen [Sun, 22 Dec 2019 00:07:11 +0000 (19:07 -0500)]
listbase: Add rubberband selection
Implement the typical rubberband selection, including
autoscroll. This is only useful with multiselection,
and not very compatible with single-click-activate.
Therefore, it is not enabled by default, and needs
to be turned on explicitly.
Matthias Clasen [Mon, 9 Dec 2019 06:19:38 +0000 (01:19 -0500)]
Add GtkMultiSelection
This is implemented using a private GtkSet helper.
Includes tests.
Matthias Clasen [Wed, 3 Jun 2020 17:16:14 +0000 (13:16 -0400)]
gtk-demo: Expand columns in the settings demo
Expand the columns that are likely to appear
at the end.
Matthias Clasen [Tue, 24 Dec 2019 16:14:37 +0000 (11:14 -0500)]
inspector: Expand the actions list
Matthias Clasen [Tue, 24 Dec 2019 16:12:49 +0000 (11:12 -0500)]
inspector: Expand the resource list
This is an experiment with adding a filler column.
Matthias Clasen [Tue, 24 Dec 2019 16:12:22 +0000 (11:12 -0500)]
inspector: Expand the property list
It looks better this way.
Matthias Clasen [Tue, 24 Dec 2019 16:11:51 +0000 (11:11 -0500)]
inspector: Expand the object tree
This is how it used to look, and it looks better that way.
Matthias Clasen [Mon, 23 Dec 2019 04:10:46 +0000 (23:10 -0500)]
columnview: Take expand into account
When allocating columns, distribute extra space
to columns that have expand set to TRUE.
Matthias Clasen [Mon, 23 Dec 2019 04:10:01 +0000 (23:10 -0500)]
columnview: Add a GtkColumnViewColumn:expand property
This will be used to determine how to distribute
available extra space in a column view.
Matthias Clasen [Sat, 21 Dec 2019 05:24:55 +0000 (00:24 -0500)]
columnview: Add autoscroll
Autoscroll when the pointer gets close to the
edge during column resizing or reordering. This
is similar to what the treeview does, but it is
implemented using a tick callback, and has
variable speed.
Matthias Clasen [Sat, 21 Dec 2019 00:24:01 +0000 (19:24 -0500)]
columnview: Allow to cancel reorder with Escape
The treeview does this too.
Matthias Clasen [Fri, 20 Dec 2019 22:29:35 +0000 (17:29 -0500)]
columnview: Interactive column reordering
Allow rearranging columns by dragging, in the same
way the treeview does.
We add the "dnd" style class to the header while
it is dragged, and we move the header of the dragged
column to the end of its parents children, so that
it gets drawn on top.
Matthias Clasen [Wed, 3 Jun 2020 16:57:38 +0000 (12:57 -0400)]
columnview: Add a GtkColumnView:reorderable property
This property controls if users can reorder columns
by drag-and-drop. It defaults to TRUE.
Matthias Clasen [Fri, 20 Dec 2019 22:28:37 +0000 (17:28 -0500)]
columnviewlayout: Use header allocation for titles
Normally, this will be identical to the column
allocation, but we will temporarily change it
during column reordering.
Matthias Clasen [Fri, 20 Dec 2019 22:19:55 +0000 (17:19 -0500)]
columnviewcolumn: Add reordering helpers
Add helper functions that let us temporarily give
a different allocation to headers. These will be
used to implement interactive column reordering
in GtkColumnView.
Matthias Clasen [Fri, 20 Dec 2019 20:46:01 +0000 (15:46 -0500)]
columnviewtitle: Trigger action on release
This is necessary to make drag-to-reorder work
without triggering resorting.
Matthias Clasen [Wed, 3 Jun 2020 17:30:19 +0000 (17:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
gtk-demo: Add a dropdown demo
See merge request GNOME/gtk!2023
Matthias Clasen [Wed, 3 Jun 2020 16:30:55 +0000 (12:30 -0400)]
gtk-demo: Make some columns resizable
Make the columns in the List > Settings demo
resizable, to demonstrate this functionality.
Matthias Clasen [Mon, 1 Jun 2020 12:10:13 +0000 (08:10 -0400)]
columnview: Interactive column resizing
This copies just enough of the treeview code to
get columns moving.
Matthias Clasen [Sat, 21 Dec 2019 04:01:55 +0000 (23:01 -0500)]
columnviewcolumn: Add a helper
We need to check whether clicks are in the headers
of columns, so let the column view get at the the
header widget.
Matthias Clasen [Fri, 20 Dec 2019 19:07:14 +0000 (14:07 -0500)]
columnview: Add a GtkColumnViewColumn:resizable property
This will be used for interactive column resizing
in the future.
Matthias Clasen [Wed, 18 Dec 2019 17:51:15 +0000 (12:51 -0500)]
columnview: Add a helper
The column code needs to get access to the
listitem widgets that are children of the listview,
so add a getter.
Matthias Clasen [Mon, 1 Jun 2020 01:07:38 +0000 (21:07 -0400)]
columnview: Add GtkColumnViewColumn:fixed-width
Add a fixed-width property similar to the same property
of GtkTreeViewColumn.
Matthias Clasen [Mon, 1 Jun 2020 01:09:00 +0000 (21:09 -0400)]
columnview: Implement horizontal scrolling
The listview inside always thinks it gets its full size,
and updates its horizontal adjustment accordingly.
So keep our own adjustment, and update it when allocating.
Matthias Clasen [Tue, 17 Dec 2019 00:22:03 +0000 (19:22 -0500)]
columnview: Revise scroll-minimum handling
Tweak the behavior slightly. We don't show
a scrollbar as long as we have at least
min-size available, but we still give the
entire size to the child, up to nat-size.
This matches how viewports handle scroll-minimum.
Benjamin Otte [Wed, 3 Jun 2020 16:33:54 +0000 (16:33 +0000)]
Merge branch 'wip/otte/for-master' into 'master'
Wip/otte/for master
See merge request GNOME/gtk!2022
Benjamin Otte [Wed, 3 Jun 2020 16:12:49 +0000 (18:12 +0200)]
listbase: Don't grab_focus() when moving focus
We want to call gtk_widget_child_focus() to have Tab focus the right
widget.
Benjamin Otte [Wed, 3 Jun 2020 16:12:00 +0000 (18:12 +0200)]
listitemwidget: Fix focus handling for columnview
ListItemWidget needs to be aware of potentially having multiple
children, so make it aware.
Matthias Clasen [Wed, 3 Jun 2020 15:51:26 +0000 (15:51 +0000)]
Merge branch 'columnview-menu' into 'master'
columnview: Add header menus
See merge request GNOME/gtk!2001
Benjamin Otte [Wed, 3 Jun 2020 15:49:04 +0000 (17:49 +0200)]
listbase: Fix leak
We were leaking the temporary tracker here.
Matthias Clasen [Wed, 3 Jun 2020 15:31:34 +0000 (11:31 -0400)]
gtk-demo: Add a dropdown demo
This shows a few examples of GtkDropDown.
Mostly taken from tests/testdropdown.c.
Matthias Clasen [Wed, 3 Jun 2020 15:11:59 +0000 (15:11 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
selection model: Further documentation tweaks
See merge request GNOME/gtk!2021
Benjamin Otte [Wed, 3 Jun 2020 14:55:39 +0000 (16:55 +0200)]
columnview: Make sure focus can move into cells
The cells themselves should never be focusable though.
Benjamin Otte [Fri, 29 May 2020 20:07:17 +0000 (22:07 +0200)]
ffmediafile: Add fixes for recent cflags changes
Related: #2771
Matthias Clasen [Wed, 3 Jun 2020 11:51:29 +0000 (07:51 -0400)]
selection model: Further documentation tweaks
Reword this to use plain language instead of throwing
arond reentrancy and ordering.
Matthias Clasen [Wed, 3 Jun 2020 05:27:46 +0000 (05:27 +0000)]
Merge branch 'selection-model-docs' into 'master'
selectionmodel: Clarify docs
Closes #2806
See merge request GNOME/gtk!2017
Matthias Clasen [Tue, 2 Jun 2020 15:14:21 +0000 (11:14 -0400)]
selectionmodel: Clarify docs
Clarify some things that were not clear to me before
discussing them.
Fixes: #2806
Matthias Clasen [Tue, 2 Jun 2020 16:06:47 +0000 (16:06 +0000)]
Merge branch 'carlosgc/emoji-chooser-fixes' into 'master'
Fix emoji chooser warnings on destroy
See merge request GNOME/gtk!2016
Carlos Garcia Campos [Tue, 2 Jun 2020 14:35:13 +0000 (16:35 +0200)]
emojichooser: Unparent the variations popup on dispose and before adding a new one
This was causing warnings when destroying the emoji chooser because it
had children left.
Carlos Garcia Campos [Tue, 2 Jun 2020 14:32:13 +0000 (16:32 +0200)]
textview: Unparent the emoji chooser on dispose
This was causing the warning "GtkEmojiChooser is not a child of
GtkTextView" when destroying a GtkTextView if the emoji chooser was
shown.
Matthias Clasen [Tue, 2 Jun 2020 04:30:29 +0000 (04:30 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Cosmetic improvements to the filebrowser demo
See merge request GNOME/gtk!2015
Matthias Clasen [Tue, 2 Jun 2020 03:12:01 +0000 (23:12 -0400)]
Cosmetic improvements to the filebrowser demo
Make it look good.
Matthias Clasen [Mon, 1 Jun 2020 18:46:12 +0000 (14:46 -0400)]
Add more columns to the settings demo
Flesh out this demo more, so we can have a
non-trivial column editor here at some point.
Matthias Clasen [Sun, 31 May 2020 18:44:42 +0000 (14:44 -0400)]
Add a header menu to settings demo
Allow toggling column visibility from here.
Matthias Clasen [Sun, 22 Dec 2019 03:21:27 +0000 (22:21 -0500)]
columnviewtitle: Display a context menu
When the ::header-menu property is set on the
column, use the menu model to create and show
a context menu.
Matthias Clasen [Sun, 22 Dec 2019 03:20:42 +0000 (22:20 -0500)]
columnviewcolumn: Add a menu property
Add a ::header-menu property that will be used
to create a context menu for the header of the
column.
Matthias Clasen [Tue, 2 Jun 2020 00:07:45 +0000 (00:07 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
print backend: Fix list model handling in dispose
See merge request GNOME/gtk!2013
Matthias Clasen [Mon, 1 Jun 2020 22:48:26 +0000 (22:48 +0000)]
Merge branch 'ebassi/expression-type' into 'master'
Ebassi/expression type
See merge request GNOME/gtk!2014
Matej Urbančič [Mon, 1 Jun 2020 20:19:55 +0000 (22:19 +0200)]
Added Slovenian translation
Emmanuele Bassi [Mon, 1 Jun 2020 20:17:34 +0000 (21:17 +0100)]
Document how to define properties using GtkExpression
Use the GtkParamSpecExpression type to describe the property, and the
GValue API to set and get the expression instance.
Emmanuele Bassi [Mon, 1 Jun 2020 20:07:53 +0000 (21:07 +0100)]
Turn GtkExpression into a GTypeInstance
Since it's a type with sub-classes, we need to use GTypeInstance (at the
very least), otherwise we won't be able to address each sub-class as
such.
This is similar to how GskRenderNode and GdkEvent are handled, with the
added difficulty that GtkExpression is meant to be used in properties,
in order to be deserialised by GtkBuilder. This requires adding a
GParamSpec sub-class that we can match on from within GtkBuilder,
alongside some convenience API for storing a GtkExpression inside a
GValue.
Emmanuele Bassi [Mon, 1 Jun 2020 20:06:04 +0000 (21:06 +0100)]
Print out the file name we're testing
We're printing out the file we're testing once we succeed, but it's hard
to know which file caused a failure. Let's add a g_test_message()
directive so we can look in our logs.
Matthias Clasen [Mon, 1 Jun 2020 19:16:02 +0000 (15:16 -0400)]
gtk-demo: Plug a leak
We were leaking a reference to the settings demo.
This showed up as gtk4-demo --run listview_settings
not exiting when the window is closed.
Matthias Clasen [Mon, 1 Jun 2020 18:45:01 +0000 (14:45 -0400)]
columnviewcolumn: Fix visibility implementation
We were not properly syncing initial visibility
with widgets.
Matthias Clasen [Mon, 1 Jun 2020 17:50:19 +0000 (13:50 -0400)]
Add a test for the previous fix
This checks that action muxer hierarchy is properly
updated when muxers appear in the middle.
Matthias Clasen [Mon, 1 Jun 2020 17:49:26 +0000 (13:49 -0400)]
Update action muxer hierarchy propertly
When a new muxer appears, we must not only make it
inherit from the parent, we also have to update all
children to inherit from it.
Matthias Clasen [Mon, 1 Jun 2020 11:43:54 +0000 (07:43 -0400)]
print backend: Fix list model handling in dispose
The print backends do some complicated dispose handling
where the implementations call gtk_print_backend_destroy().
Our tests (in particular, the templates test) trigger
situations where we use print backends after dispose,
and they can't handle the printers listmodel being
NULL at that time. So just remove the printers in
dispose, keep the empty liststore until finalize.
Kukuh Syafaat [Mon, 1 Jun 2020 13:29:20 +0000 (13:29 +0000)]
Update Indonesian translation
Matthias Clasen [Mon, 1 Jun 2020 12:26:15 +0000 (12:26 +0000)]
Merge branch 'gtk-demo-run-no-main-window' into 'master'
gtk-demo: Don't show main window if --run is passed in
See merge request GNOME/gtk!1979
Matthias Clasen [Mon, 1 Jun 2020 12:25:20 +0000 (12:25 +0000)]
Merge branch 'fix-frameclock-going-backwards' into 'master'
Fix frameclock going backwards
See merge request GNOME/gtk!2011
Matthias Clasen [Mon, 1 Jun 2020 11:28:28 +0000 (11:28 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
columnview: Add column reordering
See merge request GNOME/gtk!2005
Emmanuele Bassi [Mon, 1 Jun 2020 10:32:55 +0000 (10:32 +0000)]
Merge branch 'ebassi/scroll-position' into 'master'
Remove position from GdkScrollEvent
See merge request GNOME/gtk!2012
Emmanuele Bassi [Mon, 1 Jun 2020 09:49:33 +0000 (10:49 +0100)]
Remove position from GdkScrollEvent
Scroll events do not have a position, so they shouldn't implement the
GdkEventClass.get_position() virtual function; nor they should have an x
and y fields that never get updated.
Alexander Larsson [Mon, 1 Jun 2020 08:53:24 +0000 (10:53 +0200)]
Fix frameclock going backwards
When we run the frameclock RUN_FLUSH_IDLE idle before the paint,
then gdk_frame_clock_flush_idle() sets
```
priv->phase = GDK_FRAME_CLOCK_PHASE_BEFORE_PAINT
```
at the end if there is a paint comming.
But, before doing the paint cycle it may handle other X events, and
during that time the phase is set to BEFORE_PAINT. This means that the
current check on whether we're inside a paint is wrong:
```
if (priv->phase != GDK_FRAME_CLOCK_PHASE_NONE &&
priv->phase != GDK_FRAME_CLOCK_PHASE_FLUSH_EVENTS)
return priv->smoothed_frame_time_base;
```
This caused us to sometimes use this smoothed_frame_time_base even
though we previously reported a later value during PHASE_NONE, thus
being non-monotonic.
We can't just additionally check for the BEGIN_PAINT phase though,
becasue if we are in the paint loop actually doing that phase we
should use the time base. Instead we check for `!(BEFORE_PAINT &&
in_paint_idle)`.
Matthias Clasen [Mon, 1 Jun 2020 04:10:42 +0000 (00:10 -0400)]
gtk-demo: Fix a crash in the puzzle
Avoid a crash when clicking the refresh button
after solving the puzzle.
Matthias Clasen [Mon, 1 Jun 2020 04:09:52 +0000 (00:09 -0400)]
gtk-demo: Fix keynav in the puzzle
We need to make shortcut controller have global
scope, otherwise the shortcuts lose against the
window keybindings.
Matthias Clasen [Mon, 1 Jun 2020 03:42:36 +0000 (23:42 -0400)]
gtk-demo: Flesh out the settings demo
Add columns for type and default value.
Matthias Clasen [Wed, 18 Dec 2019 07:19:48 +0000 (02:19 -0500)]
columnview: Add column reordering
Add an API to allow reordering columns.
Matthias Clasen [Sun, 31 May 2020 23:32:44 +0000 (23:32 +0000)]
Merge branch 'action-tests' into 'master'
Action tests
See merge request GNOME/gtk!2003
Matthias Clasen [Sun, 31 May 2020 22:54:38 +0000 (22:54 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Add a forgotten export
See merge request GNOME/gtk!2002
Matthias Clasen [Sun, 31 May 2020 20:40:15 +0000 (16:40 -0400)]
More action tests
Test actions under hierarchy changes.
Matthias Clasen [Sun, 31 May 2020 20:47:53 +0000 (16:47 -0400)]
Add a forgotten export
gtk_column_view_sort_by was missing a GDK_AVAILABLE_IN_ALL
annotation, causing it to not be exported.
Matthias Clasen [Sun, 31 May 2020 19:36:41 +0000 (15:36 -0400)]
testsuite: Beef up action tests
Check return values from gtk_widget_activate.
Matthias Clasen [Sun, 31 May 2020 20:39:06 +0000 (20:39 +0000)]
Merge branch 'column-visible' into 'master'
columnview: Add a GtkColumnViewColumn:visible property
See merge request GNOME/gtk!1997
Emmanuele Bassi [Sun, 31 May 2020 19:12:32 +0000 (19:12 +0000)]
Merge branch 'drop-coverflow' into 'master'
Drop GtkCoverFlow for now
See merge request GNOME/gtk!2000
Yuri Chornoivan [Sun, 31 May 2020 19:05:20 +0000 (19:05 +0000)]
Update Ukrainian translation
Matthias Clasen [Sun, 31 May 2020 18:14:14 +0000 (18:14 +0000)]
Merge branch 'drop-fallback-c89' into 'master'
Drop fallback-c89.c
See merge request GNOME/gtk!1999
Matthias Clasen [Sun, 31 May 2020 18:13:36 +0000 (18:13 +0000)]
Merge branch 'matthiasc/for-master' into 'master'
Matthiasc/for master
See merge request GNOME/gtk!1995
Matthias Clasen [Sun, 31 May 2020 17:11:35 +0000 (13:11 -0400)]
Drop GtkCoverFlow for now
There is no agreement that a coverflow widget is
appropriate for GTK 4.
It would be ok as a demo if it could live in gtk-demo,
but that requires us to make GtkListBase public first.
The demo is also somewhat rough and needs more work
to look plausible.
Drop GtkCoverFlow and the related demo for now.
Matthias Clasen [Sun, 31 May 2020 15:02:36 +0000 (11:02 -0400)]
gtk-demo: Fixes for the sliding puzzle
We were calling check_solved only for key presses,
meaning you could never solve the puzzle with the
mouse.
Matthias Clasen [Sun, 31 May 2020 14:45:22 +0000 (10:45 -0400)]
gtk-demo: Some fixes to awards
Fix things up enough to make the list show up.
Still not a working example, but closer.